#include <reg51.h>

sbit P20=P2^0;
unsigned char num=0;

//函数功能：主函数
void main( )
{
	TMOD=0x01; //工作方式1：16位定时计数器
	TH0=(65536-5000)/256; //16位初值高8位
	TL0=(65536-5000)%256; //16位初值低8位
	EA=1;  //CPU总允许中断
	ET0=1; //T0允许中断
	TR0=1; //启动定时计数器
	while(1)
	{
		if(num==20) //50ms*20=1s,
			P20=0;    //1s 低电平
		if(num==50) //50ms*30=1.5s
		{
			P20=1;    //1.5s 高电平
			num=0;    //重置为0
		}
	}
}

//函数功能：中断函数
void timer0_int( ) interrupt 1 using 1
{
	num++;
	TH0=(65536-5000)/256;
	TL0=(65536-5000)%256;
}